import React, { useState, useEffect, useCallback } from "react";
import { queryPatInfoList, queryPatInfo } from "@/services/patInfo";
import Taro from "@tarojs/taro";
// import { userUpdate, userUserPhoneByWx } from "@/services/user";

export default function usePatient() {
  const [curPatientInfo, setCurPatientInfo] = useState(); //当前就诊人信息
  const [patientList, setPatientList] = useState({}); //当用户绑定的就诊人列表

  const getPatientList = async (userInfo) => {
    getPatientInfoByPatientId();

    const res = await queryPatInfoList({
      personId: userInfo.personId,
      pageSize: 999,
    });
    console.log(res, "queryPatInfoList");
    if (res) {
      setPatientList(res.records || []);
      //先判断local
      const patientInfo = Taro.getStorageSync("defPatientInfo");

      // 在没有当前就诊人时 切换默认就诊人 先取缓存再取列表第一个
      if (!curPatientInfo) {
        if (!curPatientInfo && patientInfo) {
          // objectsArray.find(obj => obj.name === valueToCheck)
          if (
            res?.records?.find((obj) => obj.patientId === patientInfo.patientId)
          ) {
            setCurPatientInfo(patientInfo);
          }
        } else if (res.records?.length > 0) {
          chagnePatient({ queryType: "1", queryNo: res.records[0]?.patientId });
        }
      }

      // getPatInfo();
    }
  };

  const getPatientInfoByPatientId = async (patientId) => {
    // queryPatInfo({ patientId }).then();
  };

  // const getPatInfo = () => {
  //   // queryPatInfo({
  //   //   unitsCode: "072304",
  //   //   startDate: "2024-01-29",
  //   //   endDate: "2024-02-25",
  //   // });
  //   // queryType;
  //   // queryNo;
  // };

  // 切换就诊人
  const chagnePatient = (params) => {
    queryPatInfo(params).then((res) => {
      setCurPatientInfo(res);
      Taro.setStorage({
        key: "defPatientInfo",
        data: res,
      });
    });
  };

  return {
    curPatientInfo,
    patientList,
    getPatientList,
    // getPatientInfo,
    chagnePatient,
    setCurPatientInfo,
  };
}
